package com.jy.wms.service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.jy.wms.common.annotions.BaseServiceDescribe;
import com.jy.wms.common.base.BaseService;
import com.jy.wms.common.base.ServiceException;
import com.jy.wms.common.base.SucessException;
import com.jy.wms.dao.WmsTurnoverBoxMapper;
import com.jy.wms.pojo.WmsOwner;
import com.jy.wms.pojo.WmsTurnoverBox;
import org.springframework.stereotype.Service;

import java.util.List;

/**
* @ClassName: WmsTurnoverBoxService.java
* @Description: TODO(这里用一句话描述这个类的作用)
* @Author yjs
* @Date Wed Oct 11 11:02:32 GMT+08:00 2017
*/

@Service
public class WmsTurnoverBoxService extends BaseService<WmsTurnoverBoxMapper,WmsTurnoverBox> {

 /**
 * 插入一条记录
 * @param entity 实体对象
 * @return int
 */
 @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "新增周转箱")
public void baseInsert( WmsTurnoverBox entity)throws ServiceException {
     Integer i =dao.baseInsert( entity );
     if(i>0){
     }else{
         throw new ServiceException("新增周转箱失败");
     }
}

    /**
     * 添加前去除重复
     * @param entity
     * @return
     */
public WmsTurnoverBox addSearch(WmsTurnoverBox entity){
    return dao.addSearch( entity);
}
    /**
     * 添加前去除重复
     * @param entity
     * @return
     */
    public WmsTurnoverBox addSearch_s(WmsTurnoverBox entity){
        return dao.addSearch_s( entity);
    }
/**
* 插入一条记录（匹配有值的字段）
* @param entity 实体对象
* @return int
*/
public Integer baseInsertSelective(WmsTurnoverBox entity){
     return dao.baseInsertSelective( entity);
}

/**
* 删除（根据ID 批量删除）
* @param idList 主键ID列表
* @return int
*/
@BaseServiceDescribe(moduleName = "周转箱管理",btnName = "删除周转箱信息")
public void baseDeleteBathPrimaryKeys( List<String> idList) throws Exception {
   Integer i=dao.baseDeleteBathPrimaryKeys( idList );
   if(i>0){
       throw new SucessException("删除周转箱信息成功");
   }else{
       throw new ServiceException("删除周转箱信息失败");
   }
}

/**
* 分页查询
* @param entity 实体
* @return Page<WmsTurnoverBox>
*/
@BaseServiceDescribe(moduleName = "周转箱管理",btnName = "查询周转箱信息")
public Page<WmsTurnoverBox> baseSelectPage(WmsTurnoverBox entity ) throws ServiceException {
    try{
        PageHelper.startPage(entity.getPage(),entity.getRows());
        return (Page<WmsTurnoverBox>)dao.baseSelectPage( entity );
    }catch(Exception e){
        throw new ServiceException("查询周转箱信息失败",e);
    }
}

/**
* 查询（根据主键ID查询）
* @param id 主键ID
* @return WmsTurnoverBox
*/
@BaseServiceDescribe(moduleName = "周转箱管理",btnName = "编辑查询周转箱信息")
public WmsTurnoverBox baseSelectByPrimaryKey(String id ){
     return dao.baseSelectByPrimaryKey( id );
}

/**
* 查询（根据ID 批量查询）
* @param idList 主键ID列表
* @return list
*/
public Integer baseSelectBathPrimaryKeys(List<WmsTurnoverBox> idList ){
     return dao.baseSelectBathPrimaryKeys( idList );
}

/**
*修改 （匹配有值的字段）
* @param entity 主键ID列表
* @return int
*/
@BaseServiceDescribe(moduleName = "周转箱管理",btnName = "编辑周转箱")
public void baseUpdateByPrimaryKeySelective( WmsTurnoverBox entity)throws Exception {
   Integer i =dao.baseUpdateByPrimaryKeySelective( entity);
   if(i>0){
       throw new SucessException("编辑周转箱成功");
   }else{
       throw new ServiceException("编辑周转箱失败");
   }
}

/**
*修改（根据主键ID修改）
* @param entity 主键ID列表
* @return int
*/
public Integer baseUpdateByPrimaryKey(WmsTurnoverBox entity){
     return dao.baseUpdateByPrimaryKey( entity);
}

    /**
     * 查询全部货主
     * @param ckid
     * @param mc
     * @return
     */
public List<WmsOwner> searchHz(String ckid, String mc){
    return dao.searchHz(ckid, mc);
}

    /**
     * 修改箱数
     * @param entity
     * @return
     */
@BaseServiceDescribe(moduleName = "周转箱管理",btnName = "修改箱数")
public void addSl(WmsTurnoverBox entity)throws Exception {
    Integer i=dao.addSl(entity);
    if(i>0){
        i=dao.updateXs(entity);
        if(i>0){
            throw new SucessException("修改箱数成功");
        }else{
            throw new ServiceException("修改箱数失败");
        }
    }else{
        throw new ServiceException("修改箱数失败");
    }
}

    /**
     * 是否激活
     * @param ids
     * @param sfjh
     * @throws ServiceException
     */
    @BaseServiceDescribe(moduleName = "周转箱管理",btnName = "是否激活")
    public void sfjh(List<String> ids, String sfjh)throws Exception {
        Integer i=0;
        for(String id:ids){
            i=dao.sfjh(id,sfjh);
            if(i>0){
                throw new SucessException("操作成功");
            }else{
                throw new ServiceException("操作失败");
            }
        }
    }
}
